# ДЗ

Требуется реализовать методы в `Hash.cs`, и проверить их тестами `HashTest.cs`

*Запуск тестов:* 
**Visual Studio**
Откройте обозреватель тестов, выбрав Тест > Обозреватель тестов в верхней строке меню (или нажмите клавиши CTRL + E, T).
Запустите модульные тесты, нажав Запустить все (или нажмите клавиши CTRL + R, V).

## 1. MD5 хеширование

★★★☆☆

Напишите функцию, которая подберёт две разные строки, у которых совпадают последние 5 символов MD5-хэша.

```C#
string[] Same5lastChars();
```

## 2. Хранение паролей

★★★☆☆

Программиста Мишу попросили помочь с аутентификацией на сайте. Когда новый пользователь регистрируется на сайте, он вводит пароль, который надо записать в базу. Но Миша знает, что хранить пароли в базе опасно, поэтому нужно сначала их захешировать. Помогите Мише написать функцию, которая шифрует текст по ключу алгоритмом AES.

```C#
string Encrypt(string strToEncrypt, string secret) 
```

## 3. Проверка паролей

★★★☆☆

Пользователь зарегистрирован! Теперь необходимо, чтобы пользователь мог авторизоваться и зайти на сайт. Для этого надо дешифровать хеш, который хранится в базе, чтобы сравнить его с пользовательским вводом. Напишите функцию, которая дешифрует хеш по паролю алгоритмом AES.

```C#
string String Decrypt(string strToDecrypt, string secret)
```
